#!/usr/bin/evn python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   文件名称 :     base_register
   文件功能描述 :   功能描述
   创建人 :       小钟同学
   创建时间 :          2021/12/7
-------------------------------------------------
-------------------------------------------------
"""
import abc

class Register(metaclass=abc.ABCMeta):

    @abc.abstractmethod
    def register(self,address, port):
        '''
        注册服务：
        :param name: 服务名称
        :param id: 服务的ID，consul需要一个服务名称ID
        :param address: 服务的IP地址
        :param port: 服务的启动的端口号
        :param tags: 服务的其他标签信息
        :param check: 是否启用了监控检查的机制
        :return:
        '''
        raise NotImplementedError()

    @abc.abstractmethod
    def deregister(self):
        '''
        注销服务的时候需要的服务的ID
        :param service_id:
        :return:
        '''
        raise NotImplementedError()

    @abc.abstractmethod
    def get_all_service(self):
        '''
        获取当前注册中心所有的服务信息列表
        :return:
        '''
        raise NotImplementedError()

    @abc.abstractmethod
    def get_service_name(self, service_name):
        '''
        通过服务名称获取相关服务节点列表信息
        :return:
        '''
        raise NotImplementedError()
